// var fundebug = require('../libs/fundebug.1.7.4.min.js');
function get(url, data, cb) {
  console.log('请求路径：', url);
  console.log('请求参数：', data || {});
  // wx.showLoading({
  //   title: '加载中',
  // })
  wx.request({
    url: getApp().globalData.serverUrl + url,
    method: 'GET',
    enableHttp2: true,
    data: data || {},
    header: {
      "content-type": "application/json;charset=utf-8",
      'token': wx.getStorageSync('token'),
    },
    success: function (res) {
      // fundebug.notify("get wx.request success", JSON.stringify(res));
      console.log(url + '返回结果', res);
      wx.hideLoading();
      if (res.statusCode >= 400 && res.statusCode < 500) {
        if (getApp().globalData.userId == null || getApp().globalData.userId == "") {
          var userId = wx.getStorageSync('userId');
          if (userId == null || userId == "" || userId == undefined) {
            getApp().login().then(function () {
              get(url, data, cb);
            });
          } else {
            getApp().globalData.userId = userId;
            get(url, data, cb);
          }
        }
        if (res.data.completeCode == 0 && res.data.reasonCode == '10001') {
          getApp().login().then(function () {
            get(url, data, cb);
          })
        }
      } else if (res.statusCode == 500 || res.statusCode > 500) {
        wx.showToast({
          title: '服务器异常，请稍后重试',
          duration: 1500,
          icon: 'none'
        })
      } else if (res.statusCode == 200) {
        return typeof cb == "function" && cb(res.data)
      }
    },
    fail: function (err) {
      wx.hideLoading();
      wx.showToast({
        title: '网络异常，请检查网络设置(01)',
        duration: 1500,
        icon: 'none'
      })
      // fundebug.notify("get wx.request fail, version:" + getApp().globalData.miniVersion, JSON.stringify(err));
      return typeof cb == "function" && cb(false)
    }
  })
}
function post(url, data, cb) {
  console.log('请求路径：', url);
  console.log('请求参数：', data || {});
  // wx.showLoading({
  //   title: '加载中',
  // })
  var contentType = "application/json;charset=utf-8";
  wx.request({
    url: getApp().globalData.serverUrl + url,
    header: {
      "content-type": contentType,
      'token': wx.getStorageSync('token'),
    },
    data: data || {},
    method: 'POST',
    enableHttp2: true,
    timeout: 300000,
    success: function (res) {
      console.log(url + '返回结果', res);
      wx.hideLoading();
      if (res.statusCode >= 400 && res.statusCode < 500) {
        if (getApp().globalData.userId == null || getApp().globalData.userId == "") {
          var userId = wx.getStorageSync('userId');
          if (userId == null || userId == "" || userId == undefined) {
            getApp().login().then(function () {
              post(url, data, cb, postJson);
            });
          } else {
            getApp().globalData.userId = userId;
            post(url, data, cb, postJson);
          }
        }
        if (res.data.completeCode == 0 && res.data.reasonCode == '10001') {
          getApp().login().then(function () {
            post(url, data, cb, postJson);
          })
        }
      } else if (res.statusCode > 500 || res.statusCode == 500) {
        wx.showToast({
          title: '服务器异常，请稍后重试',
          duration: 1500,
          icon: 'none'
        })
      } else if (res.statusCode == 200) {
        return typeof cb == "function" && cb(res.data)
      }
    },
    fail: function (err) {
      wx.hideLoading();
      wx.showModal({
        content: '网络异常，请检查网络设置(02)',
        duration: 1500,
        icon: 'none'
      })
      console.log(JSON.stringify(err))
      // fundebug.notify("post wx.request fail, version:" + getApp().globalData.miniVersion, JSON.stringify(err));
      return typeof cb == "function" && cb(false)
    }
  })
}
function upload(url, filePath, cb) {
  console.log('请求路径：', url);
  console.log('上传路径', filePath);
  wx.uploadFile({
    url: getApp().globalData.serverUrl + url,
    header: {
      "content-type": "multipart/form-data",
      'token': wx.getStorageSync('token'),
    },
    filePath: filePath,
    name: 'file',
    timeout: 300000,
    success: function (res) {
      console.log(url + '返回结果', res);
      wx.hideLoading();
      if (res.statusCode >= 400 && res.statusCode < 500) {

      } else if (res.statusCode > 500 || res.statusCode == 500) {
        wx.showToast({
          title: '服务器异常，请稍后重试',
          duration: 1500,
          icon: 'none'
        })
      } else if (res.statusCode == 200) {
        var data = res.data;
        if ('object' != typeof object) {
          data = JSON.parse(data)
        }
        return typeof cb == "function" && cb(data)
      }
    },
    fail: function (err) {
      wx.hideLoading();
      wx.showModal({
        content: '上传失败,请重试',
        duration: 1500,
        icon: 'none',
        showCancel: false,
      })
      console.log(JSON.stringify(err))
      // fundebug.notify("post wx.request fail, version:" + getApp().globalData.miniVersion, JSON.stringify(err));
      return typeof cb == "function" && cb(false)
    }
  })
}
// function simplePost(url, data, cb) {
//     //   console.log('请求路径：', url);
//     //   console.log('请求参数：', data || {});
//     wx.request({
//         url: getApp().globalData.serverUrl + url,
//         header: {
//             "content-type": "application/x-www-form-urlencoded",
//             'authorization': `Bearer ${wx.getStorageSync('token')}`,
//         },
//         data: data || {},
//         method: 'POST',
//         enableHttp2: true,
//         success: function (res) {
//             //   console.log(url+'返回结果',res);
//             if (res.statusCode == 200) {
//                 return typeof cb == "function" && cb(res.data)
//             }
//         },
//         fail: function (err) {
//             fundebug.notify("simplePost wx.request fail", JSON.stringify(err));
//             return typeof cb == "function" && cb(false)
//         }
//     })
// }
// function postzdy(url, data, cb) {
//     //   console.log('请求路径：', url);
//     //   console.log('请求参数：', data || {});
//     // wx.showLoading({
//     //   title: '加载中',
//     // })
//     wx.request({
//         url: 'https://zhtc.huaching.com/ths_proxy/auth/' + url,
//         header: {
//             "content-type": "application/x-www-form-urlencoded",
//             'authorization': `bearer ${wx.getStorageSync('token')}`,
//         },
//         data: data || {},
//         method: 'POST',
//         enableHttp2: true,
//         success: function (res) {
//             //   console.log(url +'返回结果', res);
//             wx.hideLoading();
//             if (res.statusCode > 400 && res.statusCode < 500) {
//                 if (res.data.completeCode == 0 && res.data.reasonCode == '10001') {
//                     getApp().login().then(function () {
//                         post(url, data, cb);
//                     })
//                 } else {
//                 }
//             } else if (res.statusCode > 500 || res.statusCode == 500) {
//                 wx.showToast({
//                     title: '服务器异常，请稍后重试',
//                     duration: 1500,
//                     icon: 'none'
//                 })
//             } else if (res.statusCode == 200) {
//                 return typeof cb == "function" && cb(res.data)
//             }
//         },
//         fail: function (err) {
//             wx.hideLoading();
//             wx.showToast({
//                 title: '网络异常，请检查网络设置(03)',
//                 duration: 1500,
//                 icon: 'none'
//             })
//             fundebug.notify("postzdy wx.request fail", JSON.stringify(err));
//             return typeof cb == "function" && cb(false)
//         }
//     })
// }
// function requestGet(url, data, cb) {
//     //   console.log('请求路径：', url);
//     //   console.log('请求参数：', data || {});
//     wx.request({
//         url: getApp().globalData.serverUrl + url,
//         method: 'GET',
//         enableHttp2: true,
//         data: data || {},
//         header: {
//             "content-type": "application/x-www-form-urlencoded",
//             'authorization': `bearer ${wx.getStorageSync('token')}`,
//         },
//         success: function (res) {
//             //   console.log(url +'返回结果', res);
//             if (res.statusCode >= 400 && res.statusCode < 500) {
//                 if (res.data.completeCode == 0 && res.data.reasonCode == '10001') {
//                     getApp().login().then(function () {
//                         requestGet(url, data, cb);
//                     })
//                 } else {
//                 }
//             } else if (res.statusCode == 500 || res.statusCode > 500) {
//                 wx.showToast({
//                     title: '服务器异常，请稍后重试',
//                     duration: 1500,
//                     icon: 'none'
//                 })
//             } else if (res.statusCode == 200) {
//                 return typeof cb == "function" && cb(res.data)
//             }
//         },
//         fail: function (err) {
//             wx.showToast({
//                 title: '网络异常，请检查网络设置(04)',
//                 duration: 1500,
//                 icon: 'none'
//             })
//             fundebug.notify("requestGet wx.request fail", JSON.stringify(err));
//             return typeof cb == "function" && cb(false)
//         }
//     })
// }
// function requestPost(url, data, cb) {
//     //   console.log('请求路径：', url);
//     //   console.log('请求参数：', data || {});
//     wx.request({
//         url: getApp().globalData.serverUrl + url,
//         header: {
//             "content-type": "application/x-www-form-urlencoded",
//             'authorization': `bearer ${wx.getStorageSync('token')}`,
//         },
//         data: data || {},
//         method: 'POST',
//         enableHttp2: true,
//         success: function (res) {
//             //   console.log(url +'返回结果', res);
//             if (res.statusCode > 400 && res.statusCode < 500) {
//                 if (res.data.completeCode == 0 && res.data.reasonCode == '10001') {
//                     getApp().login().then(function () {
//                         requestPost(url, data, cb);
//                     })
//                 }
//             } else if (res.statusCode > 500 || res.statusCode == 500) {
//                 wx.showToast({
//                     title: '服务器异常，请稍后重试',
//                     duration: 1500,
//                     icon: 'none'
//                 })
//             } else if (res.statusCode == 200) {
//                 return typeof cb == "function" && cb(res.data)
//             }
//         },
//         fail: function (err) {
//             wx.showToast({
//                 title: '网络异常，请检查网络设置(05)',
//                 duration: 1500,
//                 icon: 'none'
//             })
//             fundebug.notify("requestPost wx.request fail", JSON.stringify(err));
//             return typeof cb == "function" && cb(false)
//         }
//     })
// }
// function postAbsUrl(url, data, cb) {
//     //   console.log('请求路径：', url);
//     //   console.log('请求参数：', data || {});
//     // wx.showLoading({
//     //   title: '加载中',
//     // })
//     wx.request({
//         url: url,
//         header: {
//             "content-type": "application/json",
//             'authorization': `bearer ${wx.getStorageSync('token')}`,
//         },
//         data: data || {},
//         method: 'POST',
//         enableHttp2: true,
//         success: function (res) {
//             //   console.log(url + '返回结果', res);
//             wx.hideLoading();
//             if (res.statusCode > 400 && res.statusCode < 500) {
//                 if (res.data.completeCode == 0 && res.data.reasonCode == '10001') {
//                     getApp().login().then(function () {
//                         postAbsUrl(url, data, cb);
//                     })
//                 } else {
//                     return typeof cb == "function" && cb(false)
//                 }
//             } else if (res.statusCode > 500 || res.statusCode == 500) {
//             } else if (res.statusCode == 200) {
//                 return typeof cb == "function" && cb(res.data)
//             }
//         },
//         fail: function (err) {
//             wx.hideLoading();
//             fundebug.notify("postAbsUrl wx.request fail", JSON.stringify(err));
//             return typeof cb == "function" && cb(false)
//         }
//     })
// }
// function postHeader(url, data, header, cb) {
//     console.log('请求路径：', url);
//     console.log('请求参数：', data || {});
//     wx.request({
//         url: getApp().globalData.serverUrl + url,
//         header: header,
//         data: data || {},
//         method: 'POST',
//         enableHttp2: true,
//         success: function (res) {
//             console.log(url + '返回结果', res);
//             if (res.statusCode > 400 && res.statusCode < 500) {
//                 if (res.data.completeCode == 0 && res.data.reasonCode == '10001') {
//                     getApp().login().then(function () {
//                         postHeader(url, data, header, cb);
//                     })
//                 } else {
//                     wx.showToast({
//                         title: '网络异常，请检查网络设置',
//                         duration: 1500,
//                         icon: 'none'
//                     })
//                 }
//             } else if (res.statusCode > 500 || res.statusCode == 500) {
//                 wx.showToast({
//                     title: '服务器异常，请稍后重试',
//                     duration: 1500,
//                     icon: 'none'
//                 })
//             } else if (res.statusCode == 200) {
//                 return typeof cb == "function" && cb(res.data)
//             }
//         },
//         fail: function (err) {
//             wx.showToast({
//                 title: '网络异常，请检查网络设置(06)',
//                 duration: 1500,
//                 icon: 'none'
//             })
//             fundebug.notify("postHeader wx.request fail", JSON.stringify(err));
//             return typeof cb == "function" && cb(false)
//         }
//     })
// }
module.exports = {
  get: get,
  post: post,
  upload: upload,
  // postzdy: postzdy,
  // postAbsUrl, postAbsUrl,
  // requestGet: requestGet,
  // requestPost: requestPost,
  // postHeader: postHeader,
  // simplePost: simplePost,
}  